package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uec.staff.dao.UecNationdutyDao;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.ApplicationContextUtil;
import cn.ffcs.uom.common.util.StrUtil;
import lombok.Getter;
import lombok.Setter;

/**
 * 职业资格管理
 * 
 * @Title:
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2018年1月7日
 * @since JDK1.6
 */
public class UecNationduty extends UomEntity implements Serializable {

	private static final long serialVersionUID = -214592387794039312L;
	/**
	 * 职业资格管理标识
	 * @return
	 */
	public Long getNationdutyId() {
		return super.getId();
	}
	public void setNationdutyId(Long nationdutyId) {
		super.setId(nationdutyId);
	}
	/**
	 * 员工标识
	 */
	@Getter
	@Setter
	private Long staffId;
	@Getter
	@Setter
	private String nmStaffType;
	@Getter
	@Setter
	private Long monthId; // 账期
	@Getter
	@Setter
	private String pkPsndocSub; // 主键
	@Getter
	@Setter
	private String occupation; // 职业
	@Getter
	@Setter
	private String creationtime; // 创建时间
	@Getter
	@Setter
	private String creator; // 创建人
	@Getter
	@Setter
	private String certificatenum; // 证书编号
	@Getter
	@Setter
	private String modifier; // 修改人
	@Getter
	@Setter
	private String worklevel; // 资格等级
	@Getter
	@Setter
	private String workunitname; // 评定机构
	@Getter
	@Setter
	private String workdate; // 获得日期
	@Getter
	@Setter
	private String istop; // 最高
	@Getter
	@Setter
	private String glbdef5; // 岗位职业资格匹配度
	@Getter
	@Setter
	private String modifiedtime; // 修改时间
	@Getter
	@Setter
	private String pkPsnorg; // 组织关系主键
	@Getter
	@Setter
	private String workname; // 职业资格
	@Getter
	@Setter
	private String glbdef4; // 证书有效期
	@Getter
	@Setter
	private String pkOrg; // 所属组织
	@Getter
	@Setter
	private String pkPsndoc; // 人员基本信息
	@Getter
	@Setter
	private String ts; // 时间戳
	@Getter
	@Setter
	private Long dr; // 删除标示
	@Getter
	@Setter
	private String lastflag; // 最近记录标志
	@Getter
	@Setter
	private String occuptype; // 工种
	@Getter
	@Setter
	private String pkPsnjob; // 工作信息主键
	@Getter
	@Setter
	private Long recordnum; // 记录序号
	/**
	 * 创建对象实例
	 * @return
	 */
	public static UecNationduty newInstance(){
		return new UecNationduty();
	}
	
	/**
	 * 获取dao
	 */
	public UecNationdutyDao repository() {
		return (UecNationdutyDao) ApplicationContextUtil.getBean("uecNationdutyDao");
	}
	/**
	 * 获取职业资格类别--occupation
	 */
	public String getOccupationName() {
		if (!StrUtil.isNullOrEmpty(this.getOccupation())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getOccupation());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	/**
	 * 职业资格等级worklevel
	 */
	public String getWorklevelName() {
		if (!StrUtil.isNullOrEmpty(this.getWorklevel())) {
			String sql = " SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getWorklevel());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	/**
	 * 职业资格名称workname
	 */
	public String getWorknameName() {
		if (!StrUtil.isNullOrEmpty(this.getWorkname())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getWorkname());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	
	/**
	 * 岗位职业资格匹配度--glbdef5
	 */
	public String getGlbdef5Name() {
		if (!StrUtil.isNullOrEmpty(this.getGlbdef5())) {
			if ("Y".equals(this.getGlbdef5())) {
				return "是";
			} else if ("N".equals(this.getGlbdef5())) {
				return "否";
			}
		}
		return "";
	}
	/**
	 * istop; // 最高
	 * @return
	 */
	public String getIstopName() {
		if (!StrUtil.isNullOrEmpty(this.getIstop())) {
			if ("Y".equals(this.getIstop())) {
				return "是";
			} else if ("N".equals(this.getIstop())) {
				return "否";
			}
		}
		return "";
	}

}
